package model

import (
	"server/basic/global"
	"time"
)

type Users struct {
	Id        int32     `gorm:"column:id;type:int;primaryKey;not null;" json:"id"`
	Tel       string    `gorm:"column:tel;type:char(11);default:NULL;" json:"tel"`
	Name      string    `gorm:"column:name;type:varchar(10);default:NULL;" json:"name"`
	Img       string    `gorm:"column:img;type:varchar(255);default:NULL;" json:"img"`
	Inclduce  string    `gorm:"column:inclduce;type:varchar(50);default:NULL;" json:"inclduce"`
	CreatedAt time.Time `gorm:"column:created_at;type:datetime(3);default:NULL;" json:"created_at"`
	UpdatdAt  time.Time `gorm:"column:updatd_at;type:datetime(3);default:NULL;" json:"updatd_at"`
	DeletedAt time.Time `gorm:"column:deleted_at;type:datetime(3);default:NULL;" json:"deleted_at"`
	Password  string    `gorm:"column:password;type:varchar(20);default:NULL;" json:"password"`
}

func (u *Users) LoginUser(tel string) (*Users, error) {
	err := global.DB.Where("tel=?", tel).Find(&u).Error
	if err != nil {
		return nil, err
	}
	return u, nil
}

type Drivers struct {
	Id          int32     `gorm:"column:id;type:int;primaryKey;not null;" json:"id"`
	Start       string    `gorm:"column:start;type:varchar(20);default:NULL;" json:"start"`
	End         string    `gorm:"column:end;type:varchar(20);default:NULL;" json:"end"`
	Time        time.Time `gorm:"column:time;type:datetime(3);default:NULL;" json:"time"`
	Type        string    `gorm:"column:type;type:varchar(20);default:NULL;" json:"type"`
	Status      string    `gorm:"column:status;type:varchar(20);default:NULL;" json:"status"`
	CreatedTime time.Time `gorm:"column:created_time;type:datetime(3);default:NULL;" json:"created_time"`
	UpdatedTime time.Time `gorm:"column:updated_time;type:datetime(3);default:NULL;" json:"updated_time"`
	DeletedTime time.Time `gorm:"column:deleted_time;type:datetime(3);default:NULL;" json:"deleted_time"`
}
